Computer applications offer a wide variety of functionality capabilities, each with their own fortes and limitations. In addition, the increase in internet connectivity (especially in mobile applications) has resulted in an increase in web based computer programs. One such class of applications are known as Rich Internet Applications, or RIAs. An RIA is a Web application that has many of the characteristics of desktop application software, typically delivered either by way of a site-specific browser, via a browser plug-in, independent sandboxes, use of JavaScript, or virtual machines. Adobe Flash, JavaFX, and Microsoft Silverlight are currently the three most common platforms, with desktop browser penetration rates around 96%, 76%, and 66% respectively as of August 2011. Mobile phone penetration of these plugins, however, has remained low even as internet traffic from these devices has grown. Although new Web standards have emerged, they still use the principles behind RIAs. Users generally need to install a software framework using the computer's operating system before launching the application, which typically downloads, updates, verifies and executes the RIA.
A further problem with such software usage is the limitations of frameworks and similar mechanisms for facilitating such connections are platform dependent. For example, a given RIA cannot use the same framework to permit an application to communicate equally with a Java based application and a Flash based application. This limitation, understandably, limits the utility of RIAs and the potential they offer to users and content providers alike.
Thus, the present state of the art reflects a need for a device connectivity framework which operates with browser based access to native application code, as well as having the ability to enable such communication without regard to the software platforms involved.